This invention relates to remote voice communication and more particularly to a system for improving the quality of voice reproduction in an Internet telephony system.
An Internet telephone, using a personal computer typically utilizes a microphone and speaker connected with the personal computer. The personal computer (PC) digitizes the microphone signal, compresses this data and sends it over an Internet connection (LAN, WAN or modem) to a receiving device (typically another PC). The receiving PC decompresses the data and converts the digital data to an audio signal to drive a speaker or headphones. This process occurs in both directions simultaneously.
There are other PC functions involved in Internet telephony including establishing the connection, error detection and recovery, removing echo and speaker feedback, but these functions are not part of this invention.
The microphone and speaker interface to the normal PC sound subsystem or sound board, which is also used for playing music, error beeps, recording notes, game effects, speech recognition, etc. As a general-purpose sound subsystem, it has computer controls to adjust the microphone sensitivity and speaker output gain.
Since the sound subsystem employs analog-to-digital converters (ADC), which have a limited dynamic range, it is important to adjust the microphone audio output to the proper range. This adjustment is more critical than normal since the voice compression algorithms, which compress the digital data representing the audio voice signal, work to model the human speech and tend to reject or mis-code sounds that are not speech-like (such as instrumental music).
If the microphone is too sensitive, then the waveforms will be severely clipped and distorted. The compression algorithm will exacerbate this distortion. If the microphone is too insensitive, then the voice will be confused with background noise and quality will again be poor and can be even silenced by automatic squelch functions.
For these reasons, proper adjustment of the microphone is critical to the voice quality. Automatic gain control (AGC) circuits are often used, but with mixed results. Long periods of silence of a conversation tend to frustrate an AGC. A proper manual setting of the microphone sensitivity is usually superior.
The normal user control for microphone sensitivity is software driven. As the user moves an on-screen control with the mouse or keyboard, an indicator shows the resulting level on a simulated Vu meter, or simulated LED Bar-graph or numerically or any of a number of user interfaces. The adjuster tries to speak and observe the level as he adjusts (xe2x80x9ctesting, 1, 2, 3 . . . xe2x80x9d).
But it turns out that the best adjustment is not to see a magnitude level, but to hear the result through the compressor, transmission, de-compressor chain. This presents a problem since the person talking is in the wrong place. He is at the source, not destination. If the audio is looped back, other problems are presented. The person talking cannot properly hear his own voice, new errors are introduced by the dual end-to-end transmission, and the time delay between speaking and hearing (typically greater than 0.3 seconds) is confusing.
The person on the far end of the connection is in the best audio sensing position to adjust this microphone sensitivity since he can hear the results of the adjustment without interference. This can be done by telling the person talking to turn up the microphone sensitivity a little or down a little or move closer to the microphone, etc. until a good result is achieved. However, this technique can be tiresome, and annoying to both parties.
In accordance with the invention, the above described problems are solved by providing the PC""s in the Internet telephone system with the capability to adjust the microphone sensitivity at the remote PC. Each PC is provided with a facility to respond up and down input adjustments of the user to transmit control signals to the remote PC, where the corresponding facility at the remote PC will respond to the received control signals to adjust the microphone sensitivity at the remote PC via the sound subsystem. In operation, a party to an Internet telephone connection listens to the voice of the remote user and adjusts the sensitivity of the microphone at the remote PC to provide the best voice reproduction.
In accordance with another embodiment of the invention, the user""s remote microphone sensitivity control is adjusted in conjunction with the gain of the speaker at his own PC to achieve optimum results. In one embodiment, a volume control is provided which in one end of its range adjusts the speaker gain, and in the other end of its range adjusts the microphone sensitivity. In another embodiment, the speaker gain and microphone sensitivity are adjusted simultaneously in the same direction. In the third embodiment, the input control adjusts the microphone sensitivity and the speaker gain in opposite directions whereby the control can be used to adjust quality of the voice reproduction without adjusting the volume.